Expand description
grpcio is a Rust implementation of gRPC, which is a high performance, open source universal RPC framework that puts mobile and HTTP/2 first. grpcio is built on gRPC Core and futures-rs.
Optional features
boringssl
(enabled by default) - Enables support for TLS encryption and some authentication mechanisms.openssl
- Same asboringssl
, but base on the system openssl.openssl-vendored
- Same asopenssl
, but build openssl from source.
Modules
Channelz provides channel level debug information. In short, There are four types of
top level entities: channel, subchannel, socket and server. All entities are
identified by an positive unique integer, which is allocated in order. For more
explanation, see https://github.com/grpc/proposal/blob/master/A14-channelz.md.
Macros
A shortcut for implementing a service method by returning
UNIMPLEMENTED
status code.Structs
To perform server-side authentication, gRPC exposes the authentication context
for each call. The context exposes important authentication-related information
about the RPC such as the type of security/authentication type being used and
the peer identity.
Auth properties are elements of the AuthContext. They have a name
(a key of type string) and a value which can be a string or binary data.
Options for calls made by client.
A gRPC channel.
Channel
factory in order to configure the properties.Client-side SSL credentials.
ChannelCredentials
factory in order to configure the properties.A generic client for making RPC calls.
A receiver for client streaming call.
A response receiver for duplex call.
A receiver for server streaming call.
A sink for client streaming call.
A receiver for unary request.
A time point that an rpc or operation should finished before it.
A sink for duplex streaming call.
Environment
factory in order to configure the properties.An object that used to control concurrency and start gRPC event loop.
A convenient rust wrapper for the type
grpc_slice
.Defines how to serialize and deserialize between the specialized type and byte slice.
A collection of metadata entries that can be exchanged during a call.
Builder for immutable Metadata.
Immutable metadata iterator
A description of a remote method.
A stream for client a streaming call and a duplex streaming call.
ResourceQuota represents a bound on memory and thread usage by the gRPC.
NOTE: The management of threads created in grpc-core don’t use ResourceQuota.
TODO: Manage the poller threads created in grpc-rs with this ResourceQuota later.
A context for rpc handling.
RPC result returned from the server.
An gRPC status code structure.
This type contains constants for all gRPC status codes.
A gRPC server.
Server
factory in order to configure the properties.Server-side SSL credentials.
ServerCredentials
factory in order to configure the properties.A sink for server streaming call.
A gRPC service.
Service
factory in order to configure the properties.A
Future
that will resolve when shutdown completes.A sink for client streaming call and duplex streaming call.
To close the sink properly, you should call
close
before dropping.A sink for unary call.
Flags for write operations.
Enums
Used to indicate the result of the check. If it returns
Abort
,
skip the subsequent checkers and abort the grpc call.The various compression algorithms supported by gRPC (not sorted by
compression level)
Compression levels allow a party with knowledge of its peer’s accepted
encodings to request compression in an abstract way. The level-algorithm
mapping is performed internally and depends on the peer’s supported
compression algorithms.
Connectivity state of a channel.
Errors generated from this library.
Method types supported by gRPC.
Constants
According to https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md, grpc uses
a four bytes to describe the length of a message, so it should not exceed u32::MAX.
Traits
Traits to retrieve updated SSL server certificates, private keys, and trusted CAs
(for client authentication).
Functions
Type Definitions
A sink for client streaming call.
A sink for duplex streaming call.